"""
幂与位数

  5位数16807=7^5同时也是一个数的五次幂。同样的，9位数134217728=8^9同时也是九次幂。
  有多少个n位正整数同时也是n次幂。
"""

# 找出上限为9**21
t=1
while t==len(str(9**t)):
    t+=1
cnt=0
for i in range(1,10):
    for j in range(1,t):
        if j==len(str(i**j)):
            cnt+=1
print(cnt)
# #个数
# count=0
# #位数从1开始
# weishu=1
# while 1:
#     low=10**(weishu-1)#几位数的下限
#     up=10**weishu-1#几位数的上限
#     sboot=low**(1/(weishu))#下限的方根
#     #获得sboot与9之间的整数个数
#     dd=9-int(sboot)
#     if dd==0:
#         print(count)
#         break
#     else:
#         if int(sboot)-sboot==0:
#             count+=dd+1
#         else:
#             count+=dd
#     weishu+=1
# 答案：49